Алгоритмы и структуры данных для разработчиков от Skillbox
Вы научитесь
Программа курса
В рамках курса собраны 18 тематических блоков, содержащих информацию о работе с алгоритмами. Каждый теоретический материал подкреплен практическими заданиями на основе реальных кейсов.
Введение в алгоритмы
Узнаете о программе курса, о том, какие темы будут разобраны. Изучите, что собой представляет алгоритм и структура данных.
Алгоритм бинарного поиска
Поговорите о бинарном поиске, его функционале и эффективности, а также какие задачи он позволяет решать.
Хеш-таблицы и хеш-функции
Подробно рассмотрите хеш-таблицы, научитесь их правильно применять и использовать в работе, поговорите о хеш-функциях.
Связные списки
Рассмотрите структуру связных списков, в чем различие между односвязным и двусвязным списками, а также в чем их преимущество перед массивами.
Стек и очередь
Детально рассмотрите структуру данных, их функционирование и внедрение в процесс работы, поговорите о стеках и двухсвязной очереди.
Основы алгоритмов сортировки
Поговорите о том, как устроены популярные алгоритмы сортировки, узнаете, по каким параметрам можно определить сложность алгоритма.
Рекурсивные алгоритмы
Узнаете о способах внедрения и создания рекурсивных алгоритмов, а также поймете, по каким параметрам можно оценить их сложную структуру.
Сложность алгоритмов
Поговорите об О-нотации, а также рассмотрите такие критерии алгоритмов, как время и память, которые позволяют классифицировать их по сложности.
Жадные алгоритмы
Рассмотрите жадные алгоритмы, узнаете чем отличаются друг от друга алгоритмы с двумя и тремя индексами.
Деревья. Двоичные деревья поиска
Узнаете, что собой представляет бинарное дерево, как оно устроено, каким функционалом обладает. Разберетесь, как удалять и добавлять в алгоритм новые элементы.
Деревья. Обход в ширину и глубину
Разберете на конкретных примерах, в чем особенности деревьев со сложной структурой, узнаете, как их внедрять в рабочий процесс.
Куча (Heap)
Разберете, как устроены данные куча, поговорите о ее основных элементах, узнаете, как удалять и добавлять в алгоритм новые элементы.
Бор. Суффиксное дерево. B-дерево
Разберете, что собой представляет суффиксное дерево, для чего оно нужно в алгоритме, какие задачи позволяет решать и как его правильно внедрить.
Графы и рекурсивные алгоритмы
Подробно поговорите о графах, узнаете о нюансах работы с ними, чтобы в будущем не нарушить исполнение алгоритма.
Топологическая сортировка и неочевидные применения графов
Разберете практические примеры, посвященные графам, узнаете, как эффективно применяется на практике алгоритм Дейкстры.
Алгоритмы сжатия информации
Рассмотрите на практических примерах, как сжимать информацию, но при этом сохранять ее важные свойства. Узнаете принципы функционирования алгоритмов архивации, а также с помощью чего правильно сжимать аудио и графический контент.
Битовые алгоритмы
Научитесь применять битовые операции и те алгоритмы, которые в наибольшей степени встречаются в практических кейсах.
Алгоритмы хэширования. Криптографические алгоритмы
Поговорите и самостоятельно попробуете применить алгоритм, используемый для хеширования и расчета контрольных сумм.